package com.collect.senegal.zhiDi.zhiComponent;

import android.app.Activity;
import android.content.Context;

import com.collect.senegal.zhiDi.zhiModule.FragmentModule;
import com.collect.senegal.zhiDi.zhiScope.ContextLife;
import com.collect.senegal.zhiDi.zhiScope.PerFragment;
import com.collect.senegal.zhiScene.zhiAuditer.zhiFollow.zhiCollect.ZHIAuditerCollectFragment;
import com.collect.senegal.zhiScene.zhiAuditer.zhiFollow.zhiD0.ZHIAuditerD0Fragment;
import com.collect.senegal.zhiScene.zhiAuditer.zhiFollow.zhiD1.ZHIAuditerD1Fragment;
import com.collect.senegal.zhiScene.zhiAuditer.zhiFollow.zhiReview.ZHIAuditerReviewFragment;
import com.collect.senegal.zhiScene.zhiAuditer.zhiPerformance.ZHIAuditerPerfermanceFragment;
import com.collect.senegal.zhiScene.zhiCollection.zhiAdmin.ZHIAdminGroupMoneyFragment;
import com.collect.senegal.zhiScene.zhiCollection.zhiAdmin.ZHIAdminGroupOrderFragment;
import com.collect.senegal.zhiScene.zhiCollection.zhiBigGroup.zhiAccount.ZHIAccountBigGroupFragment;
import com.collect.senegal.zhiScene.zhiCollection.zhiBigGroup.zhiPerformance.ZHIPerformanceBigGroupOrderFragment;
import com.collect.senegal.zhiScene.zhiCollection.zhiGroup.zhiAccount.ZHIAccountGroupFragment;
import com.collect.senegal.zhiScene.zhiCollection.zhiGroup.zhiDaily.ZHIDailyGroupFragment;
import com.collect.senegal.zhiScene.zhiCollection.zhiGroup.zhiPerformance.ZHIPerformanceGroupAmountFragment;
import com.collect.senegal.zhiScene.zhiCollection.zhiGroup.zhiPerformance.ZHIPerformanceGroupOrderFragment;
import com.collect.senegal.zhiScene.zhiCollection.zhiGroup.zhiPerformance.zhiB1.ZHIPerformanceGroupB1Fragment;
import com.collect.senegal.zhiScene.zhiCollection.zhiGroup.zhiPerformance.zhiB2.ZHIPerformanceGroupB2Fragment;
import com.collect.senegal.zhiScene.zhiCollection.zhiMember.zhiAccount.ZHIAccountMemberFragment;
import com.collect.senegal.zhiScene.zhiCollection.zhiMember.zhiDaily.ZHIDailyMemberFragment;
import com.collect.senegal.zhiScene.zhiCollection.zhiMember.zhiPerformance.ZHIPerformanceMemberFragment;
import com.collect.senegal.zhiScene.zhiCollection.zhiMember.zhiPerformance.zhiB1.ZHIPerformanceMemberB1Fragment;
import com.collect.senegal.zhiScene.zhiCollection.zhiMember.zhiPerformance.zhiB2.ZHIPerformanceMemberB2Fragment;
import com.collect.senegal.zhiScene.zhiDs.zhiFollow.ZHIDsFollowFragment;
import com.collect.senegal.zhiScene.zhiDsChangeWallet.zhiFollow.ZHIDsChangeWalletFollowFragment;
import com.collect.senegal.zhiScene.zhiPhoneReview.zhiFollow.ZHIPhoneReviewFollowFragment;
import com.collect.senegal.zhiScene.zhiRemind.zhiCustomer.zhiAdmin.zhiFollow.ZHICustomerFollowMixAdminFragment;
import com.collect.senegal.zhiScene.zhiRemind.zhiCustomer.zhiAdmin.zhiPerformance.ZHICustomerPerformanceAdminFragment;
import com.collect.senegal.zhiScene.zhiRemind.zhiCustomer.zhiMember.zhiFollow.ZHICustomerFollowMixFragment;
import com.collect.senegal.zhiScene.zhiRemind.zhiCustomer.zhiMember.zhiPerformance.ZHICustomerPerformanceFragment;
import com.collect.senegal.zhiScene.zhiRemind.zhiRecall.ZHIRecallFragment;
import com.collect.senegal.zhiScene.zhiRemind.zhiRecall.ZHIRecallMarkedFragment;
import com.collect.senegal.zhiScene.zhiRemind.zhiWhatsappService.CTWhatsappServiceFragment;
import com.collect.senegal.zhiScene.zhiTelemarketing.zhiFollow.ZHITelemarketingFollowFragment;
import com.collect.senegal.zhiScene.zhiTelemarketing.zhiPerformance.ZHIPerformanceTelemarketingFragment;

import dagger.Component;


@PerFragment
@Component(dependencies = ApplicationComponent.class, modules = FragmentModule.class)
public interface FragmentComponent {
    @ContextLife("Activity")
    Context getActivityContext();

    @ContextLife("Application")
    Context getApplicationContext();

    Activity getActivity();

    void inject(ZHICustomerFollowMixFragment fragment);

    void inject(ZHIRecallFragment fragment);

    void inject(ZHIRecallMarkedFragment fragment);

    void inject(CTWhatsappServiceFragment fragment);

    void inject(ZHIAdminGroupMoneyFragment fragment);

    void inject(ZHIAdminGroupOrderFragment fragment);

    void inject(ZHIPerformanceGroupOrderFragment fragment);

    void inject(ZHIPerformanceGroupAmountFragment fragment);

    void inject(ZHIDailyGroupFragment fragment);

    void inject(ZHIDailyMemberFragment fragment);

    void inject(ZHIPerformanceMemberFragment fragment);

    void inject(ZHIAccountMemberFragment fragment);

    void inject(ZHIAccountGroupFragment fragment);

    void inject(ZHICustomerPerformanceFragment fragment);

    void inject(ZHITelemarketingFollowFragment fragment);

    void inject(ZHIPerformanceTelemarketingFragment fragment);

    void inject(ZHIPhoneReviewFollowFragment fragment);

    void inject(ZHICustomerFollowMixAdminFragment fragment);

    void inject(ZHICustomerPerformanceAdminFragment fragment);

    void inject(ZHIAccountBigGroupFragment fragment);

    void inject(ZHIPerformanceBigGroupOrderFragment fragment);

    void inject(ZHIPerformanceMemberB1Fragment fragment);

    void inject(ZHIPerformanceMemberB2Fragment fragment);

    void inject(ZHIPerformanceGroupB1Fragment fragment);

    void inject(ZHIPerformanceGroupB2Fragment fragment);

    void inject(ZHIDsFollowFragment fragment);

    void inject(ZHIDsChangeWalletFollowFragment fragment);


    void inject(ZHIAuditerReviewFragment fragment);

    void inject(ZHIAuditerD0Fragment fragment);

    void inject(ZHIAuditerCollectFragment fragment);

    void inject(ZHIAuditerD1Fragment fragment);

    void inject(ZHIAuditerPerfermanceFragment fragment);
}
